iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
Python

進擊的Python系列 第 30

Day27-PyQT(賈碧、法爾柯)

  • 分享至 

  • xImage
  •  

大家好!賈碧和法爾柯分享PyQT

https://ithelp.ithome.com.tw/upload/images/20240826/20163257T0jUwRSPWW.jpg
圖片來源:(https://forum.gamer.com.tw/C.php?bsn=43473&snA=12640)

https://ithelp.ithome.com.tw/upload/images/20240826/20163257ictHBQdZlG.png
圖片來源:PyQt

PyQt

繪製圖形使用者介面(GUI)的強大工具

是一個 Python 語言的 GUI 編程解決方案。它結合 Python 的易用性和 Qt 的強大功能,讓開發者能夠快速地創建出功能豐富、跨平台的圖形使用者介面應用程式

PyQt優勢

  • 跨平台性:使用 PyQt 開發應用程式可以在 Windows、macOS、Linux 等多種作業系統上運行,無需修改程式碼
  • 豐富的元件:PyQt提供大量預製元件,例如:按鈕、標籤、文本框、表格、圖表,可以輕鬆地組成複雜使用者介面
  • 高度客製化:PyQt允許開發者對元件的外觀和行為進行高度客製化,滿足不同的需求
  • 強大的信號與槽機制:PyQt信號與槽機制使得元件之間的互動變得簡單而高效
  • 與Qt無縫整合:PyQt 與 Qt 框架無縫整合,可以利用 Qt 提供龐大資源和社群支持

PyQt應用場景

  • 桌面應用程式:開發各種桌面應用程式,例如:文件編輯器、圖像處理軟體、數據分析工具
  • 科學計算可視化:將科學計算結果以圖形化方式呈現,提高數據可讀性
  • 控制系統:開發控制機器或設備圖形化界面
  • 遊戲開發:雖然 PyQt 主要開發傳統 GUI 應用程式,但可以開發一些簡單遊戲

PyQt基本概念

  • Qt Designer: 一個可視化界面設計工具,可以用來拖拽元件、設置屬性,快速構建 UI
  • .ui 文件: Qt Designer 生成一個 XML 格式的文件,描述 UI 的佈局和屬性
  • PyUIC: 一個工具將 .ui 文件轉換為 Python 程式碼
  • 信號與槽: PyQt 核心機制連接 UI 元件,實現交互
  • 物件: PyQt 中一切都是物件,包括視窗、按鈕、標籤
  • 事件: PyQt 可以處理各種事件,例如:滑鼠點擊、鍵盤輸入

PyQt入門

安裝PyQt

使用 pip 命令安裝 PyQt5

pip install PyQt5

設計UI: 使用 Qt Designer 設計 UI,生成 .ui 文件
轉換為Python程式碼: 使用 pyuic 命令將 .ui 文件轉換為 Python 程式碼
編寫Python程式: 導入轉換後的 Python 程式碼,並使用 PyQt 的 API 與 UI 元件進行交互
運行程式: 運行 Python 程式,即可看到設計 GUI 界面

一個簡單PyQt應用程式

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = QWidget()
    window.setWindowTitle   
('Hello, PyQt!')
    label = QLabel('歡迎使用 PyQt!', window)
    label.move(60, 40)
    window.setGeometry(300, 300, 300, 200)
    window.show()
    sys.exit(app.exec_())

總結

PyQt 是一個功能強大、易於使用的 Python GUI 框架,非常適合開發各種桌面應用程式。如果想要快速地構建一個專業的 GUI 應用程式,PyQt 是一個非常好的選擇

我喜歡妳!賈碧

https://ithelp.ithome.com.tw/upload/images/20240826/2016325778ymJWaDjV.jpg
圖片來源:(https://forum.gamer.com.tw/Co.php?bsn=43473&sn=76253)


上一篇
Day26-Tkinter(米可)
下一篇
Day28-Tensorflow(莫布里特)
系列文
進擊的Python36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言